package io.github.wanggit.antrpc.gateway.starter.containers;

import io.github.wanggit.antrpc.commons.bean.AbstractHttpMethod;
import io.github.wanggit.antrpc.commons.bean.GetBean;
import io.github.wanggit.antrpc.commons.bean.HttpBean;
import io.github.wanggit.antrpc.commons.bean.PostBean;
import io.vavr.Tuple3;

public interface IHttpUrlContainer {

    void add(HttpBean httpBean, GetBean getBean, String appName);

    void update(HttpBean httpBean, GetBean getBean, String appName);

    void remove(HttpBean httpBean, GetBean getBean, String appName);

    void add(HttpBean httpBean, PostBean postBean, String appName);

    void update(HttpBean httpBean, PostBean postBean, String appName);

    void remove(HttpBean httpBean, PostBean postBean, String appName);

    boolean contains(String appName, String method, String path);

    Tuple3<HttpBean, AbstractHttpMethod, String> find(String appName, String method, String path);
}
